package com.aloha.springframework.context;

import com.aloha.springframework.beans.BeansException;

/**
 * @author DaiZhiHeng
 * @description 定义了刷新容器的能力，以及在容器销毁前调用销毁方法的能力
 * @date 2023/7/3 8:47
 */
public interface ConfigurableApplicationContext extends ApplicationContext {

    /**
     * 刷新容器
     */
    void refresh() throws BeansException;

    /**
     * 注册关闭JVM前的钩子方法
     */
    void registerShutdownHook();

    /**
     * 执行销毁方法
     */
    void close();
}
